# 第一阶段：构建应用
FROM golang:1.20-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制go.mod和go.sum文件
COPY go.mod go.sum ./

# 下载依赖
RUN go mod download

# 复制项目文件
COPY . .

# 构建应用
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o pceservice ./cmd/pceservice

# 第二阶段：创建轻量级运行时镜像
FROM alpine:latest

# 安装必要的依赖
RUN apk --no-cache add ca-certificates

# 设置工作目录
WORKDIR /app

# 从构建阶段复制可执行文件
COPY --from=builder /app/pceservice .
COPY --from=builder /app/config/ config/
# COPY --from=builder /app/webui/ webui/

# 暴露API端口和PCEP端口
EXPOSE 8080
EXPOSE 4189

# 运行应用
CMD ["./pceservice", "-config", "config/config.yaml"]    